package com.nextel.project.usuario.bean;

import com.nextel.project.agps.PropertiesMovil;
import pe.com.nextel.rms.DataInputStreamX;
import pe.com.nextel.rms.DataOutputStreamX;
import pe.com.nextel.rms.PersistenteX;
import org.kxml2.io.KXmlParser;
import org.kxml2.io.KXmlSerializer;
import pe.com.nextel.util.List;
import java.io.IOException;
import pe.com.nextel.util.StringUtils;

/**
 * Clase que contiene los datos del usuario que iongresa a la aplicacion
 * @author eespinoza
 */
public class UsuarioBean extends PersistenteX {

    /**
     * Login de ingreso
     */
    private String codigo;
    /**
     * Clave de ingreso
     */
    private String login;
    private String password;
    private String nombres;
    private String dni;
    private String compania;
    public String pedido;
    public String canje;
    public String cobranza;
    public String eficiencia;
    public String devolucion;
    public String gps;
    public String stock_linea;
    public String descuento;
    public String Moneda;
    public String Simbolo_Decimal;
    public String Idioma;
  


    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNombres() {
        return nombres;
    }

    public void setNombres(String nombres) {
        this.nombres = nombres;
    }

    public String getDni() {
        return dni;
    }

    public void setDni(String dni) {
        this.dni = dni;
    }

    /**
     * Persiste la clase usuario de la aplicacion
     * @param dataOutput
     * @param vector
     * @throws java.io.IOException
     */
    public void persistir(DataOutputStreamX dataOutput, List vector) throws IOException {
        dataOutput.writeString(StringUtils.stringNullToBlank(getLogin()));
        dataOutput.writeString(StringUtils.stringNullToBlank(getCodigo()));
        dataOutput.writeString(StringUtils.stringNullToBlank(password));
        dataOutput.writeString(StringUtils.stringNullToBlank(nombres));
        dataOutput.writeString(StringUtils.stringNullToBlank(dni));
        dataOutput.writeString(StringUtils.stringNullToBlank(getCompania()));

        dataOutput.writeString(StringUtils.stringNullToBlank(pedido));
        dataOutput.writeString(StringUtils.stringNullToBlank(cobranza));
        dataOutput.writeString(StringUtils.stringNullToBlank(canje));
        dataOutput.writeString(StringUtils.stringNullToBlank(devolucion));
        dataOutput.writeString(StringUtils.stringNullToBlank(gps));
        dataOutput.writeString(StringUtils.stringNullToBlank(eficiencia));
        dataOutput.writeString(StringUtils.stringNullToBlank(stock_linea));
        dataOutput.writeString(StringUtils.stringNullToBlank(descuento));
        dataOutput.writeString(StringUtils.stringNullToBlank(Moneda));
        dataOutput.writeString(StringUtils.stringNullToBlank(Simbolo_Decimal));
        dataOutput.writeString(StringUtils.stringNullToBlank(Idioma));


        ////

    }

    public String getCompania() {
        return compania;
    }

    public void setCompania(String compania) {
        this.compania = compania;
    }

    /**
     * Recupera la clase usuario de la aplicacion
     * @param dataInput
     * @return
     * @throws java.io.IOException
     */
    public List recuperar(DataInputStreamX dataInput) throws IOException {
        setLogin(dataInput.readString());
        setCodigo(dataInput.readString());
        password = dataInput.readString();
        nombres = dataInput.readString();
        dni = dataInput.readString();
        setCompania(dataInput.readString());

        pedido = dataInput.readString();
        cobranza = dataInput.readString();
        canje = dataInput.readString();
        devolucion = dataInput.readString();
        gps = dataInput.readString();
        eficiencia = dataInput.readString();
        stock_linea = dataInput.readString();
        descuento = dataInput.readString();
        Moneda = dataInput.readString();
        Simbolo_Decimal = dataInput.readString();
        Idioma = dataInput.readString();



        return null; /* No retorna nada por que solo se usa un solo usuario por aplicacion*/
    }

    /**
     *  <u u="01" c="123" e="1"/>
     **/
    public void writeXMLObject(KXmlSerializer writer) throws IOException {

        writer.startTag(null, "u");
        writer.attribute(null, "c", StringUtils.stringNullToBlank(getCodigo()));
        writer.attribute(null, "l", StringUtils.stringNullToBlank(getLogin()));
        writer.attribute(null, "p", StringUtils.stringNullToBlank(getPassword()));
        writer.attribute(null, "e", StringUtils.stringNullToBlank(getCompania()));
        
        PropertiesMovil.getMovil();        
        writer.attribute(null, "nxt", PropertiesMovil.nextel);  
        writer.attribute(null, "sid", PropertiesMovil.simId);  
        writer.attribute(null, "im", PropertiesMovil.imei);  
        writer.attribute(null, "ip", PropertiesMovil.ip);  
        writer.attribute(null, "ptn", PropertiesMovil.numeroTelefonico); 
        writer.attribute(null, "li2", PropertiesMovil.linea2);
        
        writer.endTag(null, "u");

    }

    public void readXMLObject(KXmlParser parser) throws IOException {

        setCompania(parser.getAttributeValue(null, "e"));
        setCodigo(parser.getAttributeValue(null, "c"));
        setNombres(parser.getAttributeValue(null, "n"));
        //
        pedido = (parser.getAttributeValue(null, "pe"));
        cobranza = (parser.getAttributeValue(null, "co"));
        canje = (parser.getAttributeValue(null, "cj"));
        devolucion = (parser.getAttributeValue(null, "dv"));        
        gps = (parser.getAttributeValue(null, "gp"));
        System.out.println("GPS" + gps );
        eficiencia = (parser.getAttributeValue(null, "ef"));
        stock_linea = (parser.getAttributeValue(null, "sl"));
        descuento = (parser.getAttributeValue(null, "ds"));
        Moneda = (parser.getAttributeValue(null,"mo"));
        Simbolo_Decimal = (parser.getAttributeValue(null,"sd"));
        Idioma = (parser.getAttributeValue(null,"id"));

        ///



    }

    public void clear() {
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }
}
